Создание М команд
Можно создавать свои М команды.
Заняты M1; M3-M6; M8-M11; M29-M30; M47; M50-M91; M98-M122; M129-133; M136; M140-M141; M150-M181; M250-M263;  M270-M281; M300-M307.
Но большая часть из них, заняты экспериментальными командами. Многие можно освободить.
Для задействования, создаём в файле slib-m.nc подпрограмму O100(номер M команды). То есть, для M2 O10002, для M15 - O10015. И пишем в подпрограмму, нужный G-код.
Аргументы не передаются в подпрограмму. Аргументы XYZABC перемещают оси. То есть, команда работает как G1. Сначала перемещаются оси, потом выполняется подпрограмма.
Исключение - M2.Она не двигает оси.

________________________________________

Создание G команд
Можно создавать свои G команды.
Свободны G команды, начиная с номера G100. Например, G153.
Для создания команды G153 , создаём в файле slib-g.nc подпрограмму O9(номер G команды). То есть, для G153 - O9153.
И пишем в подпрограмму, нужный G-код.
Аргументы XYZABCIJKRHQDFS передаются в переменные #0-#16 соответственно.
X-#0 Y-#1 Z-#2 A-#3 B-#4 и т.д.
